首页

欢迎

 

Welcome

欢迎, 这是一个学习数学、讨论数学的网站.

转到问题

请输入问题号, 例如: 2512

IMAGINE, THINK, and DO
How to be a scientist, mathematician and an engineer, all in one?
--- S. Muthu Muthukrishnan

Local Notes

Local Notes 是一款 Windows 下的笔记系统.

Local Notes 下载

Sowya

Sowya 是一款运行于 Windows 下的计算软件.

详情

下载 Sowya.7z (包含最新版的 Sowya.exe and SowyaApp.exe)


注: 自 v0.550 开始, Calculator 更名为 Sowya. [Sowya] 是吴语中数学的发音, 可在 cn.bing.com/translator 中输入 Sowya, 听其英语发音或法语发音.





注册

欢迎注册, 您的参与将会促进数学交流. 注册

在注册之前, 或许您想先试用一下. 测试帐号: usertest 密码: usertest. 请不要更改密码.


我制作的 slides

Problem

随机显示问题

Problèmes d'affichage aléatoires

计算数学 >> 数据结构
Questions in category: 数据结构 (Data Structure).

伪随机数生成器

Posted by haifeng on 2020-05-29 08:43:56 last update 2020-05-29 08:43:56 | Answers (0)


许多库中的随机数生成器基于函数

\[
x_{i+1}\equiv (Ax_i+C)\mod (2^B-1)
\]

 

如果令 $A=48271$, $C=1$, $B=31$, 则有

\[
(48271\times 179424105+1)\mod (2^{31}-1)=179424105
\]

可以是用 Calculator 验证:

>> (48271*179424105+1)mod(2^31-1)
in> (48271*179424105+1)@(2^31-1)

out> 179424105

这说明, 如果种子(即初值) $x_0=179424105$, 则生成器将陷入周期为 1 的循环.

 

 


References:

Mark Allen Weiss 著, 张怀勇 等译《数据结构与算法分析C++描述》(第3版). P.333